package br.unifor.ads.desphouse.util;

import java.awt.event.KeyEvent;

import javax.swing.JFormattedTextField;
import javax.swing.JTextField;
import javax.swing.text.MaskFormatter;

/**
 * Classe utilitaria para componentes
 * visuais
 * 
 * @author Alex Girao
 */
public class ComponentesUtil {
	
	/**
	 * Limita o tamanho de um JTextField ou JPassword
	 * 
	 * @param field
	 * @param limite
	 */
	public static void limitarTamanhoJTextFiel(final JTextField field, final int limite){
		field.addKeyListener(new java.awt.event.KeyAdapter() {  
			public void keyTyped(java.awt.event.KeyEvent e) {  
				if (field.getText().length() <= limite - 1) {  
			    } else {  
			        e.setKeyChar((char) KeyEvent.VK_CLEAR);  
			    }  
			}
		});
	}
	
	/**
	 * Instala uma mascara em um JFormattedTextField
	 * @param field
	 * @param mascara
	 */
	public static void aplicarMascaraJFormattedTextField(JFormattedTextField field, String mascara){
		try{
			MaskFormatter mask = new MaskFormatter(mascara);
			mask.install(field);
		}catch(Exception e){
			e.printStackTrace();
		}
	}

}
